Positioning Information Preparation

The Global Positioning System (GPS) coordinates of each GCP must be collected so they can be used in PhytoOracle workflows. To accomplish this, you need a Trimble Global Navigation Satellite System (GNSS) (Figure @ref(fig:trimbleplot)).

Trimble Global Navigation Satellite System (GNSS) used to collect accurate Global Positioning System (GPS) coordinates of Ground Control Points (GCPs).

Trimble Global Navigation Satellite System (GNSS) used to collect accurate Global Positioning System (GPS) coordinates of Ground Control Points (GCPs).

Collecting Global Positioning System (GPS) Coordinates

The United States Department of Agriculture (USDA) Arid Land Agricultural Research Center (ALARC) has trimbles that we can borrow. To use them, follow the steps below:

  1. Run Trimble Access - Press Trimble hard key (Windows symbol), select Trimble Access

  2. Log in — Click either “Tap here to log in” or the current logged in person (e.g., kelly.thorp)

  • Login Mode: Offline
  • Select your user name.
    • If you already have a username, select it…click next…click finish
    • Else type in your user name…Click finish
    • Passwords are optional…be professional
  1. Set up a job - Click General Survey -> Jobs
  • If opening existing job, click “Open job” then select the job
  • If starting a new job, click “New job” then
    • Job name: Give the job a name.
    • Template: Default
    • Coord sys.: Click ‘Select from library’
      • System: ‘World wide/UTM’
      • Zone: 12 Nonh
      • Datum: WGS 1984 (7P)
      • Project height: 361m
    • Click Store Accept
  • If using the Yuma 2 and the Bluetooth needs connected
    • Turn on the GNSS receiver
    • General Survey -> Instrument -> GNSS Functions Bluetooth
      • Under ‘Connect to GNSS Rover’ select: R8s, Serial#: Trimble
      • Save/Accept
  1. To measure points
  • Go to field. Click General Survey -> Measure -> ALARCRTK -> Measure points
  • Accept base station.
  • Point name: Name the point. (If you put a number at the end, it will auto-increment.)
  • Code: Add optional additional info.
  • Method: Rapid point
  • Antenna height (Uncorr): 2.000m
  • Vertical offset: 30.839m Up (This is important to get the Z coordinate correct.)
  • Click “Measure” to record a point.
  • Go to lab. Connect TSC3 to computer.
  • Click General Survey -> Jobs -> Import/Export -> Export fixed format -> Accept -> All points
  • Copy the file off the TSC3:
    • “This PC\Trimble Navigation Limited TSC3\\Export”
  1. To stake flags at point locations
  • Copy CSV file to the TSC3
    • Save CSV from Excel to help TSC3 recognize points. Do not add header line.
    • Order: Point name, Northing, Easting, Elevation, Code (optional)
    • Connect TSC3 to computer and copy point file to your user directory.
      • “This PC\Trimble Navigation Limited TSC3\
  • Go to field. Click General Survey -> Stakeout -> ALARCRTK -> Points - Remove points from old stakeouts, if they exist. - Add -> Select from file -> choose point file. - Click ‘All’ - Click Add - Select a point, then select StakeoUt Navigate to the point, and stake flag.

Positioning Information Files Required by PhytoOracle

PhytoOracle relies on geospatial information, such as GPS coordinates, to accurately link phenotypes with a location in the field. This allows us to detect, tag, and track individual plants over the course of multiple Field Scanalyzer scans. Specifically, PhytoOracle requires two files:

  1. GCP file: Text file containing the GPS coordinates of all field GCPs.
  2. GeoJSON: File containing polygons representing each plot in the gantry field

These files must be generated prior to data processing for the respective season. Additionally, these files should be loaded onto QGIS for visual inspection and confirmation that the coordinates are accurate.

Generating GCP File

The Trimble collects GPS coordinates in the Easting, Northing format (Table @ref(tab:trimbledatatable)). PhytoOracle requires GPS coordinates to be in the latitude, longitude format. To convert the coordinates, use the gcp_coordinates_conversion repository to use the conversion tool. After running the conversion script, the data will now be in the required latitude, longitude format (Table @ref(tab:gcpfiletable)).

Ground Control Point (GCP) coordinate file. Each row represents the coordinate of a single GCP.
GCP Type Northing Easting Height..m.
plate1 White 3659979 408992.8 360.775
plate2 White 3659987 408992.9 360.788
plate3 White 3659995 408992.9 360.783
plate4 White 3660003 408993.0 360.770
plate5 White 3660011 408993.1 360.775
plate6 White 3660019 408993.1 360.765
Ground Control Point (GCP) coordinate file. Each row represents the coordinate of a single GCP.
GCP number Latitude Longitude
1 33.07470 -111.975
2 33.07478 -111.975
3 33.07485 -111.975
4 33.07492 -111.975
5 33.07499 -111.975
6 33.07506 -111.975

Generating GeoJSON File

GeoJSON files contain polygons that represent each plot in the gantry field (Figure @ref(fig:geojsonplot)). These polygons are used to extract smaller experimental units from larger units, such as the full field scale.

GeoJSON file containing a single polygon for each plot.

GeoJSON file containing a single polygon for each plot.

Our field design and dimensions remain pretty consistent from one season to the next. As a result, existing GeoJSONs are modified and applied to new seasons. In the case that a new GeoJSON needs to be created, please refer to FIELDimageR.

If you are editing a pre-existing GeoJSON, you will need to:

  1. Move polygons that are misaligned in the new season
  2. Rename genotype column

Moving polygons

To move polygons, you need to load the GeoJSON and a drone orthomosaic onto QGIS. Then, you can follow the steps in Figure @ref(fig:geojsoneditplot):

  1. Click “Toggle Editing”
  2. Click “Select Features by Area or Single Click”
  3. Click “Move Features”
  4. Manually move polygon into desired alignment
  5. Single click to drop the polygon into the desired location
  6. Save changes
Editing GeoJSON polygons using QGIS.

Editing GeoJSON polygons using QGIS.

Renaming genotype column

The “genotype” values in the GeoJSON file can be edited using GeoPandas. A GeoJSON can be opened up as a dataframe, similar to Pandas. Once opened, you can then replace the “genotype” columns using the fieldbook for the respective season. To see an example click here.